home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 127 / PC Guia 127.iso / Software / Produtividade / OpenOffice.org 2.0.1 / openofficeorg4.cab / test___all__.py < prev    next >
Text File  |  2005-11-19  |  7KB  |  206 lines

  1. import unittest
  2. from test import test_support
  3.  
  4. from test.test_support import verify, verbose
  5. from sets import Set
  6. import sys
  7. import warnings
  8.  
  9. warnings.filterwarnings("ignore", ".* 'pre' .*", DeprecationWarning,
  10.                         r'pre$')
  11. warnings.filterwarnings("ignore", ".* regsub .*", DeprecationWarning,
  12.                         r'^regsub$')
  13. warnings.filterwarnings("ignore", ".* statcache .*", DeprecationWarning,
  14.                         r'statcache$')
  15.  
  16. class AllTest(unittest.TestCase):
  17.  
  18.     def check_all(self, modname):
  19.         names = {}
  20.         try:
  21.             exec "import %s" % modname in names
  22.         except ImportError:
  23.             # Silent fail here seems the best route since some modules
  24.             # may not be available in all environments.
  25.             # Since an ImportError may leave a partial module object in
  26.             # sys.modules, get rid of that first.  Here's what happens if
  27.             # you don't:  importing pty fails on Windows because pty tries to
  28.             # import FCNTL, which doesn't exist.  That raises an ImportError,
  29.             # caught here.  It also leaves a partial pty module in sys.modules.
  30.             # So when test_pty is called later, the import of pty succeeds,
  31.             # but shouldn't.  As a result, test_pty crashes with an
  32.             # AttributeError instead of an ImportError, and regrtest interprets
  33.             # the latter as a test failure (ImportError is treated as "test
  34.             # skipped" -- which is what test_pty should say on Windows).
  35.             try:
  36.                 del sys.modules[modname]
  37.             except KeyError:
  38.                 pass
  39.             return
  40.         verify(hasattr(sys.modules[modname], "__all__"),
  41.                "%s has no __all__ attribute" % modname)
  42.         names = {}
  43.         exec "from %s import *" % modname in names
  44.         if names.has_key("__builtins__"):
  45.             del names["__builtins__"]
  46.         keys = Set(names)
  47.         all = Set(sys.modules[modname].__all__)
  48.         verify(keys==all, "%s != %s" % (keys, all))
  49.  
  50.     def test_all(self):
  51.         if not sys.platform.startswith('java'):
  52.             # In case _socket fails to build, make this test fail more gracefully
  53.             # than an AttributeError somewhere deep in CGIHTTPServer.
  54.             import _socket
  55.  
  56.         self.check_all("BaseHTTPServer")
  57.         self.check_all("Bastion")
  58.         self.check_all("CGIHTTPServer")
  59.         self.check_all("ConfigParser")
  60.         self.check_all("Cookie")
  61.         self.check_all("MimeWriter")
  62.         self.check_all("Queue")
  63.         self.check_all("SimpleHTTPServer")
  64.         self.check_all("SocketServer")
  65.         self.check_all("StringIO")
  66.         self.check_all("UserString")
  67.         self.check_all("aifc")
  68.         self.check_all("atexit")
  69.         self.check_all("audiodev")
  70.         self.check_all("base64")
  71.         self.check_all("bdb")
  72.         self.check_all("binhex")
  73.         self.check_all("calendar")
  74.         self.check_all("cgi")
  75.         self.check_all("cmd")
  76.         self.check_all("code")
  77.         self.check_all("codecs")
  78.         self.check_all("codeop")
  79.         self.check_all("colorsys")
  80.         self.check_all("commands")
  81.         self.check_all("compileall")
  82.         self.check_all("copy")
  83.         self.check_all("copy_reg")
  84.         self.check_all("csv")
  85.         self.check_all("dbhash")
  86.         self.check_all("difflib")
  87.         self.check_all("dircache")
  88.         self.check_all("dis")
  89.         self.check_all("doctest")
  90.         self.check_all("dummy_thread")
  91.         self.check_all("dummy_threading")
  92.         self.check_all("filecmp")
  93.         self.check_all("fileinput")
  94.         self.check_all("fnmatch")
  95.         self.check_all("fpformat")
  96.         self.check_all("ftplib")
  97.         self.check_all("getopt")
  98.         self.check_all("getpass")
  99.         self.check_all("gettext")
  100.         self.check_all("glob")
  101.         self.check_all("gopherlib")
  102.         self.check_all("gzip")
  103.         self.check_all("heapq")
  104.         self.check_all("htmllib")
  105.         self.check_all("httplib")
  106.         self.check_all("ihooks")
  107.         self.check_all("imaplib")
  108.         self.check_all("imghdr")
  109.         self.check_all("imputil")
  110.         self.check_all("keyword")
  111.         self.check_all("linecache")
  112.         self.check_all("locale")
  113.         self.check_all("macpath")
  114.         self.check_all("macurl2path")
  115.         self.check_all("mailbox")
  116.         self.check_all("mailcap")
  117.         self.check_all("mhlib")
  118.         self.check_all("mimetools")
  119.         self.check_all("mimetypes")
  120.         self.check_all("mimify")
  121.         self.check_all("multifile")
  122.         self.check_all("netrc")
  123.         self.check_all("nntplib")
  124.         self.check_all("ntpath")
  125.         self.check_all("opcode")
  126.         self.check_all("optparse")
  127.         self.check_all("os")
  128.         self.check_all("os2emxpath")
  129.         self.check_all("pdb")
  130.         self.check_all("pickle")
  131.         self.check_all("pipes")
  132.         self.check_all("popen2")
  133.         self.check_all("poplib")
  134.         self.check_all("posixpath")
  135.         self.check_all("pprint")
  136.         self.check_all("pre")  # deprecated
  137.         self.check_all("profile")
  138.         self.check_all("pstats")
  139.         self.check_all("pty")
  140.         self.check_all("py_compile")
  141.         self.check_all("pyclbr")
  142.         self.check_all("quopri")
  143.         self.check_all("random")
  144.         self.check_all("re")
  145.         self.check_all("reconvert")
  146.         self.check_all("regsub")
  147.         self.check_all("repr")
  148.         self.check_all("rexec")
  149.         self.check_all("rfc822")
  150.         self.check_all("rlcompleter")
  151.         self.check_all("robotparser")
  152.         self.check_all("sched")
  153.         self.check_all("sets")
  154.         self.check_all("sgmllib")
  155.         self.check_all("shelve")
  156.         self.check_all("shlex")
  157.         self.check_all("shutil")
  158.         self.check_all("smtpd")
  159.         self.check_all("smtplib")
  160.         self.check_all("sndhdr")
  161.         self.check_all("socket")
  162.         self.check_all("sre")
  163.         self.check_all("_strptime")
  164.         self.check_all("statcache")
  165.         self.check_all("symtable")
  166.         self.check_all("tabnanny")
  167.         self.check_all("tarfile")
  168.         self.check_all("telnetlib")
  169.         self.check_all("tempfile")
  170.         self.check_all("textwrap")
  171.         self.check_all("threading")
  172.         self.check_all("timeit")
  173.         self.check_all("toaiff")
  174.         self.check_all("tokenize")
  175.         self.check_all("traceback")
  176.         self.check_all("tty")
  177.         self.check_all("unittest")
  178.         self.check_all("urllib")
  179.         self.check_all("urlparse")
  180.         self.check_all("uu")
  181.         self.check_all("warnings")
  182.         self.check_all("wave")
  183.         self.check_all("weakref")
  184.         self.check_all("webbrowser")
  185.         self.check_all("xdrlib")
  186.         self.check_all("zipfile")
  187.  
  188.         # rlcompleter needs special consideration; it import readline which
  189.         # initializes GNU readline which calls setlocale(LC_CTYPE, "")... :-(
  190.         try:
  191.             self.check_all("rlcompleter")
  192.         finally:
  193.             try:
  194.                 import locale
  195.             except ImportError:
  196.                 pass
  197.             else:
  198.                 locale.setlocale(locale.LC_CTYPE, 'C')
  199.  
  200.  
  201. def test_main():
  202.     test_support.run_unittest(AllTest)
  203.  
  204. if __name__ == "__main__":
  205.     test_main()
  206.